CDWriterXP

Features
Overview
Other Issues
License

Objects
CDWriterXP

Constants
eAudioFormat
eCDRCapabilities
eDiscStatus
eDiscType
eSessionStatus
eCDError
eWriteError
eWriteType
eTrackFileError


CDWriterXP ActiveX Control

Features

Highlights -

  • Worlds only fully featured CD writing control.
  • Add CD recording functionality to any application.
  • Now supports BURN-PROOF for error free recording.
  • Create fully compatible ISO9660 and Joliet data CDs.
  • Writes .mp3 or .wav files on-the-fly as an audio disc.
  • Write ISO images for raw writing by other applications.
  • Import and write ISO images from other applications.
  • Easy file/image manipulation methods.
  • Import multi-session ISO/Joliet tracks and merge new files with an existing session.
  • Works with Windows 95/98/ME/NT/2000.
  • Works easily with IDE and SCSI CDR/W drives.
  • Efficient buffering system.
  • Creates detailed logs of burning sessions.
  • Allows recording of a data image on-the-fly... no need to create an image on the hard drive first (very little disk space required)!
  • Create back-up software easily.
  • Supports use of high write speeds.
  • ASPI not required for NT/2000.
  • Supports use of re-writable discs.
  • Easy to understand ActiveX interface.
  • HTML on-line help.

Documentation -

The control has fully documented help and technical support. Every method and event is completely documented and the Visual Basic code sample is commented. Technical support is available via email and is free to registered users for a period of one year. Any future upgrades are also free to registered users.


CDWriterXP ActiveX Control

Overview

Basic Operation -

The control is capable of several tasks related to writing audio and data discs. It is important to understand the recording process before attempting to use the control in an application. The CDWriterXP has two basic functions - recording Data and Audio CDs. All other functionality is used to support these operations.

Data Tracks (ISO9660/Joliet)-

By far, the most useful feature of CDWriterXP, is the ability to record data CDs. The uses for this feature include data archiving, creating kiosks, and a multitude of other applications. The CDWriterXP supports writing ISO9660 or Joliet data discs.

ISO9660 - (Level 1/Level 2)

Two forms of ISO9660 exist, Level 1 and Level 2. The ISO9660 Level 1 standard allows an 8 character filename + 3 character extension. This is often referred to as 8.3 format. Most off-the-shelf software on CD-Rom comes in this format. Level 2 offers more relaxed restrictions (31 characters maximum). ISO9660 also limits any given fully qualified path to 255 characters and does not allow a directory depth of more than 8 directories deep.

Joliet -

Joliet is a more common format among Windows users because it supports file and directory names of up to 64 characters. It also allows characters which are more favorable to the long filename conventions of Windows. Joliet also has no restrictions on directory tree depth or path size.

Data Disc Basics -

A data track is written to the CD just like an audio track except a directory structure is written along with file data as one contiguous track. Only one data track can be read by the OS at one time. Unlike audio, the last data track on the CD is the one which the OS will use to determine which files are on the disc. All previous data tracks are disregarded unless they were linked into the image of last track written. In other words, on a disc with multiple data tracks, the OS will only see the last recorded data track. Linking (importing a previous session/track) allows files from previous data tracks to be visible from the last session recorded. This is done by including the address of previously written files (of the previous data track) in the directory structure of the new data track's image. This is commonly called 'continuing a multi-session disc'. This functionality allows an update/addition of files (written previously) without the need to write all of the file data again - except the updated files. After a data track has been written, either the session or the disc should be closed. The disc should be closed if no further data needs to be written to the disc - ever. At the very least, the session should be closed so that the disc is useable. Some operating systems do not recognize unclosed data tracks. The OS may also need the disc ejected and reloaded before recognizing a newly recorded data track.

Using CDWriterXP to Write a Data Track -

To create a data image for a track, files and/or directories can be added either one at a time (InsertISOItem) , or an entire directory can be cloned (CloneDirectoryToISO) to an destination image path. The control will not validate filename lengths, but it will alter names as needed to conform the current image specifications (ISO or Joliet). As each item is added to the image, a ISOItemAdded event will indicate a successful addition. When the appropriate files have been added to the image, set various properties as required (e.g. CloseSession, CloseDisc, CacheDataTrack), and call WriteDisc to begin the recording operation. See the sample code. Use the caching option if recording from a network source, or on a slow system.

Using CDWriterXP to Write an Imported Multi-Session Data Track

If the last session needs to be imported, it must be done prior to adding any other items to the image. If you record a session/track with 'FileA.txt', and then record another session/track with 'FileB.txt'; only 'FileB.txt' will appear in the OS's file system. The first session is superseded by the last session. The only way around this problem, is by importing the previous session into the new data image. Importing a data track links a previous session's file information with the new session. CDWriterXP supports this technology by using the ImportISOTrack method. If importing is not used, a new session will overwrite the previous session and all of the files must be written again (taking up unnecessary space). After importing the last session, follow the Using CDWriterXP to Write a Data Track section (above) to write the disc. Important: Only the last session/track is imported by the control to prevent confusion. The disc must remain present in the drive after the import, or the recording will not work properly. CDWriterXP relies on the presence of the imported disc for a successful write operation. Only Mode 1 CD-Rom discs can be imported (XA or any other modes are not supported, but may work).

Audio Discs -

Audio discs can be created from the control consisting of tracks from either .mp3 or .wav source files. Audio discs are recorded in TAO (Track-at-Once) recording mode. TAO is supported by almost every CDR on the market. Tracks can be added to an audio image by using the InsertAudioTrack method of the control. Tracks can be inserted, removed, and enumerated using various audio track specific methods of the control. The .wav files must be 16 bit, stereo, and 44.1khz format in order to be used with the control. MP3 files must be high-quality stereo format with a decent bit rate to get good results. After adding the tracks to the audio image, set the CloseDisc and CloseSession properties to a value of True. The disc and session must be closed to allow playback on 'normal' CD players. The WriteType property must also be set for audio recording. Use the WriteDisc method to initiate recording to the CDR drive. Mp3 tracks will be decompressed on-the-fly during recording unless the CacheAudioTracks property is set to a value of True. Some systems are too slow for on-the-fly decoding, or the files may be from a network location (slowing performance). In these cases, use the caching ability for error free recording.

Other Operations -

A number of utility features exist to manage the writing process.

Track Item Enumerations -

To solve speed issues associated with collections, extensive use was made of enumeration events. Instead of needing to manage large collections of data (e.g. ISO items), methods may be called which will fire an event for each item in the control's collection. For example, to get a list of ISO files added to an image directory, one would make a call to EnumerateISOItems. This method would cause the control to fire the EnumISOItems event for each item in the associated image path. This type of architecture makes it easy to manage tree views and lists of image items. This same approach is also used for audio data through the EnumerateAudioTracks method and the EnumAudioTrack event.

Writing/Saving ISO Files -

The ISO image may be saved as a generic ISO file for use by other applications using the CreateISOImageFile method. Generic ISO files can also be written by the control using the WriteISOImage method. The only constraint using this method is that the disc must be blank.

ISO/Joliet File and Directory Manipulation -

Many methods exist for removing, renaming, and adding directory/file items. Most of these methods have corresponding events to confirm the operation, and to modify the GUI to reflect the changes. For example, when a directory is renamed using RenameISODirectory, all of the image destination paths for the child items change. To reflect this modification, the ISODestPathChanged event will fire for each child item so modifications can be made to the item's GUI components if necessary. The samples contain working examples if this functionality.

Errors -

CDWriterXP takes great care in reporting very detailed errors when required. A number of enumerations/constants exist for explaining error conditions. We have attempted to accommodate most drives on the market, but due to the changing nature of this technology, we do not guarantee universal functionality with every drive.

Licensing -

After purchasing a CDWriterXP license, the control needs to be registered by setting the LicenseCode property with the code sent with the receipt of purchase (usually an email). This property may be set at runtime, or at design time. A runtime license allows runtime distribution of the control for commercial applications without any further fees or royalty payments.


CDWriterXP ActiveX Control

Other Issues

Drive Compatibility -

CD writers may have many differences between various models. We do not guarantee that this component will work with all CDR drives. Newer drives are more standardized in their command sets. Commands used by this component may not work with all older drives. If the drive does not work properly with other software, it probably won't work with this component either. We have tried to accommodate as many drives as possible. This control has been tested on many different drive models on various operating systems. If you find a drive which seems unsupported, please let us know.

Buffer Problems -

Buffer under-runs are a common problem with CD writers. A buffer under-run occurs when not enough data is streamed to the drive from the system. Buffer under-runs are very uncommon using this component. The control has a very efficient multi-threaded buffering system. There are some things you can do to prevent this problem from happening with any software:

1) Disable other processes running as background tasks (virus scan, screen-saver, ect...)

2) Try using a lower write speed especially on slow systems.

3) Don't run other applications while recording (especially on a slow system).

4) Try not to access the hard disk - I/O resources are needed by the writer and CDR software.

5) Don't record from a network connection if at all possible - the network data transfer rate may be to slow.

6) Install more memory - this will prevent heavy hard-disc swapping during recording.

7) Disable auto-insert notification for the CDR.

Doing any of these things will help you 'burn' more successfully and create less coasters. Most problems occur on slow systems with high write speeds (less data gets processed on time).


License Agreement

NUGROOVZ grants a license to use the enclosed software to the original purchaser. Copies may be made for back-up purposes only. Copies made for any other purpose are expressly prohibited, and adherence to this requirement is the sole responsibility of the purchaser.

Customer written applications containing embedded NUGROOVZ products may be freely distributed, without royalty payments to NUGROOVZ, provided that such distributed NUGROOVZ product is bound into these applications in such a way so as to prohibit separate use in design mode, and that such NUGROOVZ product is distributed only in conjunction with the customer's own software product. The NUGROOVZ product may not be distributed by itself in any form.

Neither source code for NUGROOVZ products nor modified source code for NUGROOVZ products may be distributed under any circumstances. The license (LIC) file or any other file other than the control executable itself my not be distributed without the written consent of NUGROOVZ. This license may not be transferred to a third party under any circumstances.

This product is licensed for use by only one developer at a time. NUGROOVZ expressly prohibits installing this product on more than one computer if there is any chance that both copies will be used simultaneously. This restriction also extends to installation on a network server, if more than one workstation will be accessing the product. All developers working on a project which includes a NUGROOVZ product, even though not working directly with the NUGROOVZ, are required to purchase a license for that NUGROOVZ product.

This software is provided "as is". NUGROOVZ makes no warranty, expressed or implied, with regard to the software. All implied warranties, including the warranties of merchantability and fitness for a particular use, are hereby excluded.

NUGROOVZ's LIABILITY IS LIMITED TO THE PURCHASE PRICE. Under no circumstances shall NUGROOVZ or the authors of this product be liable for any incidental or consequential damages, nor for any damages in excess of the original purchase price.


Contact

PO BOX 794393
Dallas, TX 75379-439

www.nugroovz.com

info@nugroovz.com


LicenseCode property

Returns/Sets the license code for registered users. After purchasing a license for the control, this property must be entered. A valid license code is required to distribute the control with your application and to allow full runtime functionality. The license code is a 21 digit code from the receipt of purchase.

Property type

A No Return Value value.

Syntax

object.LicenseCode [= value]

The LicenseCode property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


TestWrite property

Returns/Sets the test writing mode for the currently selected CDR. The test write mode will simulate the writing activity on the drive, except the laser will never be turned on (The disc will remain unwritten).

Property type

A No Return Value value.

Syntax

object.TestWrite [= value]

The TestWrite property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | Boolean


CacheDataTrack property

Returns/Sets if an ISO/Joliet image should be cached prior to being written. If caching is turned on, the image will be created in the system's temporary directory first, and then the image will be written to the disc from the temporary file. If writing from a network location, or including many smaller files (under 1K) in the ISO/Joliet image, or using a slower system, this setting is recommended to avoid drive under-run writing errors.

Property type

A No Return Value value.

Syntax

object.CacheDataTrack [= value]

The CacheDataTrack property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | Boolean


CloseDisc property

Returns/Sets if the disc should be closed after being written. The disc should always be closed on audio discs. If audio discs are not closed, many 'normal' CD players will not be able to read the disc.

Property type

A No Return Value value.

Syntax

object.CloseDisc [= value]

The CloseDisc property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | Boolean


CloseSession property

Returns/Sets if the session should be closed after being written. On data (ISO/Joliet) discs, the session should always be closed after writing the data track. If the session is not closed, the operating system may not recognize the CD.

Property type

A No Return Value value.

Syntax

object.CloseSession [= value]

The CloseSession property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | Boolean


CacheAudioTrack property

CacheAudioTracks property

Returns/Sets if audio tracks should be cached/decompressed prior to being written. MP3s will be decoded prior to writing the track if this setting is used. PCM .wav files will be copied locally and written to a raw file before recording if this setting is enabled. Use this setting if your machine is too slow to decompress .mp3 files 'on-the-fly', or if writing audio files from a network location.

Property type

A No Return Value value.

Syntax

object.CacheAudioTracks [= value]

The CacheAudioTracks property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | Boolean


WriteType property

Returns/Sets the writing mode from for an Audio disc or an ISO/Joliet data disc.

Property type

A No Return Value value.

Syntax

object.WriteType [= value]

The WriteType property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | eWriteType


UseFileDates property

Returns/Sets if ISO/Joliet image files should use today's date or the file date.

Property type

A No Return Value value.

Syntax

object.UseFileDates [= value]

The UseFileDates property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | Boolean


Joliet property

Returns/Sets if an ISO image should also include/allow Joliet filenames and write a Joliet volume. Joliet file names can be up to 64 characters maximum (including the extension). If this property is set to false, only an ISO9660 volume will be written.

Property type

A No Return Value value.

Syntax

object.Joliet [= value]

The Joliet property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | Boolean


UseISOLevel1Filenames property

Returns/Sets if the ISO/Joliet image should use ISO9660 Level1 file/directory naming conventions. File and directory name guidelines are as follows:

ISO9660 - (Level 1/Level 2)

Two forms of ISO9660 exist, Level 1 and Level 2. The ISO9660 Level 1 standard allows an 8 character filename + 3 character extension. This is often referred to as 8.3 format. Most off-the-shelf software on CD-Rom comes in this format. Level 2 offers more relaxed restrictions (31 characters maximum). ISO9660 also limits any given fully qualified path to 255 characters and does not allow a directory depth of more than 8 directories deep.

Property type

A No Return Value value.

Syntax

object.UseISOLevel1Filenames [= value]

The UseISOLevel1Filenames property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | Boolean


VolumeSystemIdentifier property

Returns/Sets the Volume System Identifier field of the ISO/Joliet image (31 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumeSystemIdentifier [= value]

The VolumeSystemIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


VolumeIdentifier property

Returns/Sets the Volume Identifier field of the ISO/Joliet image. This is the volume label seen by Windows (31 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumeIdentifier [= value]

The VolumeIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


VolumeSetIdentifier property

Returns/Sets the Volume Set Identifier field of the ISO/Joliet image (128 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumeSetIdentifier [= value]

The VolumeSetIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


VolumePublisherIdentifier property

Returns/Sets the Volume Publisher Identifier field of the ISO/Joliet image (128 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumePublisherIdentifier [= value]

The VolumePublisherIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


VolumeDataPreparerIdentifier property

Returns/Sets the Volume Data Preparer Identifier field of the ISO/Joliet image (128 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumeDataPreparerIdentifier [= value]

The VolumeDataPreparerIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


VolumeApplicationIdentifier property

Returns/Sets the Volume Application Identifier field of the ISO/Joliet image(128 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumeApplicationIdentifier [= value]

The VolumeApplicationIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


VolumeCopyrightFileIdentifier property

Returns/Sets the Volume Copyright File Identifier field of the ISO/Joliet image (36 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumeCopyrightFileIdentifier [= value]

The VolumeCopyrightFileIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


VolumeAbstractFileIdentifier property

Returns/Sets the Volume Abstract File Identifier field of the ISO/Joliet image (36 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumeAbstractFileIdentifier [= value]

The VolumeAbstractFileIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


VolumeBiblioFileIdentifier property

Returns/Sets the Volume Bibliography File Identifier field of the ISO/Joliet image (36 characters maximum).

See ISO9660 documentation for more information.

Property type

A No Return Value value.

Syntax

object.VolumeBiblioFileIdentifier [= value]

The VolumeBiblioFileIdentifier property syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
value | String


CachingTrack event

Indicates a track has begun being cached and decoded if needed.

Syntax

Sub object_CachingTrack(Track As Integer, BlocksToCache As Long)

The CachingTrack event syntax has these named arguments:

Part | Description
Track | Integer
BlocksToCache | Long


CachingTrackStatus event

Indicates the number of blocks of a track which have been cached.

Syntax

Sub object_CachingTrackStatus(BlocksCached As Long)

The CachingTrackStatus event syntax has these named arguments:

Part | Description
BlocksCached | Long


ClosingDisc event

Indicates the disc is being closed. This operation can take up to 5 minutes on some drives. This operation cannot be cancelled.

Syntax

Sub object_ClosingDisc

The ClosingDisc event syntax has these named arguments:

Part Description


ClosingSession event

Indicates the last session is being closed. This operation cannot be cancelled.

Syntax

Sub object_ClosingSession

The ClosingSession event syntax has these named arguments:

Part Description


ClosingTrack event

Indicates the track is being closed.

Syntax

Sub object_ClosingTrack(Track As Integer)

The ClosingTrack event syntax has these named arguments:

Part | Description
Track | Integer


CreatingDirectories event

Indicates ISO/Joliet directories are being created.

Syntax

Sub object_CreatingDirectories

The CreatingDirectories event syntax has these named arguments:

Part Description


EnumAudioTrack event

Indicates an audio track exists in the audio image. This event is fired in response to the EnumerateAudioTracks method. After the EnumerateAudioTracks method is called, this event will fire for each track in the audio image. This allows the GUI to be updated with the track information after it has been tracks have been added or removed.

Syntax

Sub object_EnumAudioTrack(FileName As String, TrackFormat As eAudioFormat, TotalSizeBlocks As Long, TotalSizeBytes As Long, TrackNumber As Integer)

The EnumAudioTrack event syntax has these named arguments:

Part | Description
FileName | String
TrackFormat | eAudioFormat
TotalSizeBlocks | Long
TotalSizeBytes | Long
TrackNumber | Integer


EnumISOItems event

Indicates an ISO/Joliet file or directory exists in the image. This event fires in response to the EnumerateISOItems method. After the EnumerateISOItems method is called, this event will fire for each file and directory in the ISO/Joliet image.

Syntax

Sub object_EnumISOItems(ParentDestPath As String, ItemDestPath As String, ItemName As String, SourceFilePath As String, IsDirectory As Boolean, FileDate As Date, FileSize As Long)

The EnumISOItems event syntax has these named arguments:

Part | Description
ParentDestPath | String
ItemDestPath | String
ItemName | String
SourceFilePath | String
IsDirectory | Boolean
FileDate | Date
FileSize | Long


EraseComplete event

Indicates that the erase operation is complete.

Syntax

Sub object_EraseComplete

The EraseComplete event syntax has these named arguments:

Part Description


ErasingDisc event

Indicates an erase operation in progress. The erase operation cannot be cancelled.

Syntax

Sub object_ErasingDisc

The ErasingDisc event syntax has these named arguments:

Part Description


ISODestPathChanged event

Indicates an ISO/Joliet file or directories image path has changed because of a renaming operation. The image destination path is essentially a key (for the control's internal item collection) for each item in the image. If this key is used in your application to reference an item (e.g. TreeView node), after a directory has been renamed, the key will be invalid because all child items now have a different destination path. This event lets the new key for a child item be assigned to a GUI element if necessary. For example, an image directory named '\Root1' has a child file with the image destination path of '\Root1\File1.txt'. If the directory is renamed to '\NewName', the child file will need its destination path changed to '\NewName\File1.txt'. this event communicates this change in a destination path.

Syntax

Sub object_ISODestPathChanged(OldDestPath As String, NewDestPath As String, IsDirectory As Boolean)

The ISODestPathChanged event syntax has these named arguments:

Part | Description
OldDestPath | String
NewDestPath | String
IsDirectory | Boolean


ISOImageReset event

Indicates that the ISO/Joliet image has been reset and all items (files and directories) have been cleared.

Syntax

Sub object_ISOImageReset

The ISOImageReset event syntax has these named arguments:

Part Description


ISOItemAdded event

Indicates an ISO/Joliet file or directory has been added to the image. This event will fire when calling InsertISOItem, CloneDirectoryToISO, or ImportISOTrack.

Syntax

Sub object_ISOItemAdded(ParentDestPath As String, ItemDestPath As String, ItemName As String, SourceFilePath As String, IsDirectory As Boolean, FileDate As Date, FileSize As Long)

The ISOItemAdded event syntax has these named arguments:

Part | Description
ParentDestPath | String
ItemDestPath | String
ItemName | String
SourceFilePath | String
IsDirectory | Boolean
FileDate | Date
FileSize | Long


ISOItemRemoved event

Indicates an ISO/Joliet file or directory has been removed from the image.

Syntax

Sub object_ISOItemRemoved(DestinationPath As String, ItemName As String, IsDirectory As Boolean)

The ISOItemRemoved event syntax has these named arguments:

Part | Description
DestinationPath | String
ItemName | String
IsDirectory | Boolean


ISOItemRenamed event

Indicates an ISO/Joliet file or directory has been renamed.

Syntax

Sub object_ISOItemRenamed(OldDestPath As String, NewDestPath As String, NewItemName As String, IsDirectory As Boolean)

The ISOItemRenamed event syntax has these named arguments:

Part | Description
OldDestPath | String
NewDestPath | String
NewItemName | String
IsDirectory | Boolean


PreparingToWrite event

Indicates that the drive is preparing to write.

Syntax

Sub object_PreparingToWrite

The PreparingToWrite event syntax has these named arguments:

Part Description


ReadBufferStatus event

Indicates the percentage of read buffer being utilized.

Syntax

Sub object_ReadBufferStatus(ReadBufferUsed As Integer)

The ReadBufferStatus event syntax has these named arguments:

Part | Description
ReadBufferUsed | Integer


ReadingFile event

Indicates a file from the ISO/Joliet image is being read.

Syntax

Sub object_ReadingFile(FileIndex As Long)

The ReadingFile event syntax has these named arguments:

Part | Description
FileIndex | Long


ReplaceImportedISOFile event

Indicates that an imported ISO/Joliet file is about to be replaced and can be cancelled if needed. If a file is added to the image, and it matches a file which was imported from a previous data track, this event will file to allow confirmation to replace the imported file. If the ReplaceFile parameter is set to false, the image will retain the imported file.

Syntax

Sub object_ReplaceImportedISOFile(DestPath As String, NewSourcePath As String, FileName As String, ReplaceFile As Boolean)

The ReplaceImportedISOFile event syntax has these named arguments:

Part | Description
DestPath | String
NewSourcePath | String
FileName | String
ReplaceFile | Boolean


TrackFileError event

Indicates a file error has occurred. A file error can occur in various operations of the control aside from writing to disc. This event will indicate the file in which the error occurred and the type of error.

Syntax

Sub object_TrackFileError(FileError As eTrackFileError, FileName As String)

The TrackFileError event syntax has these named arguments:

Part | Description
FileError | eTrackFileError
FileName | String


TrackWriteStart event

Indicates track writing has begun.

Syntax

Sub object_TrackWriteStart(Track As Integer, BlocksToWrite As Long)

The TrackWriteStart event syntax has these named arguments:

Part | Description
Track | Integer
BlocksToWrite | Long


TrackWriteStatus event

Indicates the current writing status of the track.

Syntax

Sub object_TrackWriteStatus(Track As Integer, BlocksWritten As Long, DeviceBufferUsed As Integer)

The TrackWriteStatus event syntax has these named arguments:

Part | Description
Track | Integer
BlocksWritten | Long
DeviceBufferUsed | Integer


WriteError event

Indicates a write error has occurred. If the WriteError is a errFileError, be aware that a TrackFileError event will fire prior to this event. It may not be desirable to prompt the user for both errors. If WriteError is a errDriveError, the DeviceError parameter will have a specific drive error as defined by the eCDError constants.

Syntax

Sub object_WriteError(WriteError As eWriteError, DeviceError As eCDError)

The WriteError event syntax has these named arguments:

Part | Description
WriteError | eWriteError
DeviceError | eCDError


WritingCancelled event

Indicates the writing operation has been cancelled.

Syntax

Sub object_WritingCancelled

The WritingCancelled event syntax has these named arguments:

Part Description


WritingComplete event

Indicates the writing operation has completed.

Syntax

Sub object_WritingComplete

The WritingComplete event syntax has these named arguments:

Part Description


CancelWrite method

Cancels the current writing operation. This method will not cancel an erase operation, a closing operation, raw ISO file creation, or a caching operation.

Return Type

A No Return Value value.

Syntax

object.CancelWrite

The CancelWrite method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


ClearAudioTracks method

Clear all audio tracks from the audio image.

Return Type

A No Return Value value.

Syntax

object.ClearAudioTracks

The ClearAudioTracks method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


ClearISOImage method

Clears/Resets the ISO/Joliet data image from the control. An ISOImageReset event will occur as a result of this operation.

Return Type

A No Return Value value.

Syntax

object.ClearISOImage

The ClearISOImage method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


CloneDirectoryToISO method

Adds an entire directory structure to the ISO/Joliet image. A wildcard may be used to only allow certain file types. The directory structure will be added to the image at the DestinationPath. For example, to add the contents of 'C:\Directory1' to the image destination folder '\NewFolder', the DestinationPath parameter would be '\NewFolder'. The SourcePath would be 'C:\Directory1\*.*'. As items are added to the image, the ISOItemAdded event will fire.

Return Type

A Boolean value.

Syntax

object.CloneDirectoryToISO(DestinationPath As String, SourcePath As String)

The CloneDirectoryToISO method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DestinationPath | String
SourcePath | String


CloseDriveTray method

Closes the drive tray of the currently opened drive.

Return Type

A Boolean value.

Syntax

object.CloseDriveTray

The CloseDriveTray method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


CloseLastSession method

Closes the last open session on the disc loaded in the drive. This operation cannot be cancelled. The method will return immediately. The return value indicates if the closing operation has begun. A WritingComplete event will signify the completion of the operation.

Return Type

A Boolean value.

Syntax

object.CloseLastSession(CloseDisc As Boolean)

The CloseLastSession method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
CloseDisc | Boolean


ConvertBlocksToBytes method

Converts a block value into a byte value based on the format of the disc.

Return Type

A Long value.

Syntax

object.ConvertBlocksToBytes(Blocks As Long, WriteMode As eWriteType)

The ConvertBlocksToBytes method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
Blocks | Long
WriteMode | eWriteType


ConvertBlocksToMSFString method

Converts a block value into a MM:SS:FF value (used for audio discs).

Return Type

A String value.

Syntax

object.ConvertBlocksToMSFString(Blocks As Long)

The ConvertBlocksToMSFString method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
Blocks | Long


CreateISOImageFile method

Creates an ISO file from the ISO/Joliet image. The current ISO/Joliet image will be saved as a raw ISO file for use by other writing applications. The file will be recorded as if it were being written to a blank disc.

Return Type

A Boolean value.

Syntax

object.CreateISOImageFile(FileName As String)

The CreateISOImageFile method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
FileName | String


DoesISOItemExist method

Indicates if a file or directory exists in the ISO/Joliet image.

Return Type

A Boolean value.

Syntax

object.DoesISOItemExist(DestinationPath As String)

The DoesISOItemExist method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DestinationPath | String


Eject method

Eject the media of the currently opened drive.

Return Type

A Boolean value.

Syntax

object.Eject

The Eject method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


EnumerateAudioTracks method

Enumerate all items in the audio image through the EnumAudioTrack event.

Return Type

A No Return Value value.

Syntax

object.EnumerateAudioTracks

The EnumerateAudioTracks method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


EnumerateISOItems method

Enumerate all items in the ISO image through the EnumISOItems event. All items in the image can be enumerated with ParentDestPath set to the root of the image ('\'). Any directory in the image can be enumerated by setting ParentDestPath to '\[DirectoryName]'.

Return Type

A Boolean value.

Syntax

object.EnumerateISOItems(ParentDestPath As String)

The EnumerateISOItems method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
ParentDestPath | String


EraseDisc method

Erases the currently loaded rewritable disc in the drive. Using QuickErase set to True will erase the program area of the disc, but not the actual data. Otherwise, the entire disc will be erased sector by sector. Not using QuickErase can take 15 minutes or more. An ErasingDisc event will fire followed by an EraseComplete event when the operation is complete.

Return Type

A Boolean value.

Syntax

object.EraseDisc(QuickErase As Boolean)

The EraseDisc method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
QuickErase | Boolean


GetATIPInfoString method

This method returns an ATIP time groove information string. Some disc manufacturers provide a set of reference time slots encoded into discs pre-groove information. The format returned by this method is "mm:ss:ff-MM:SS:FF". An example of a returned value would be "97:23:11-11:22:67". This information is for ADVANCED users only. Usually, no ATIP information is of no practical use, but in some applications it is necessary to identify a specific manufacturer through this time-slot information. The lower-case mm:ss:ff (minutes/seconds/frames) is the Lead-in start time slot portion of the string. The upper-case MM:SS:FF (minutes/seconds/frames) portion of the string is the Lead-out start time slot. The "-" is a delimiter used to split the time slots and must be parsed by the user. This method is very specific to certain applications where a disc manufacturer has provided unique time slots to the developer to identify a manufacturer. This method is not for the average application of the control.

Return Type

A String value.

Syntax

object.GetATIPInfoString()

The GetATIPInfoString method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetAudioTrackCount method

Returns the audio track count in the audio image.

Return Type

A Integer value.

Syntax

object.GetAudioTrackCount

The GetAudioTrackCount method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetAudioVolumeSizeBlocks method

Returns the size of the audio image in blocks.

Return Type

A Long value.

Syntax

object.GetAudioVolumeSizeBlocks

The GetAudioVolumeSizeBlocks method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetDiscFreeSpaceBlocks method

Returns the free space on the loaded disc in blocks of the desired format.

Return Type

A Long value.

Syntax

object.GetDiscFreeSpaceBlocks(WriteMode As eWriteType)

The GetDiscFreeSpaceBlocks method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
WriteMode | eWriteType


GetDiscStatus method

Returns the status of the loaded disc.

Return Type

A eDiscStatus value.

Syntax

object.GetDiscStatus

The GetDiscStatus method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetDiscType method

Returns the type of the loaded disc.

Return Type

A eDiscType value.

Syntax

object.GetDiscType

The GetDiscType method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetDriveCapability method

Indicates support for a certain drive capability. A return value of True indicates that the capability is supported.

Return Type

A Boolean value.

Syntax

object.GetDriveCapability(DriveCapability As eCDRCapabilities)

The GetDriveCapability method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DriveCapability | eCDRCapabilities


GetDriveCount method

Returns the CDR drive count.

Return Type

A Integer value.

Syntax

object.GetDriveCount

The GetDriveCount method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetDriveLetter method

Returns the drive letter of a particular drive.

Return Type

A String value.

Syntax

object.GetDriveLetter(DriveIndex As Integer)

The GetDriveLetter method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DriveIndex | Integer


GetDriveName method

Returns the system name of a particular drive.

Return Type

A String value.

Syntax

object.GetDriveName(DriveIndex As Integer)

The GetDriveName method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DriveIndex | Integer


GetDriveVendor method

Returns the manufacturer of a particular drive.

Return Type

A String value.

Syntax

object.GetDriveVendor(DriveIndex As Integer)

The GetDriveVendor method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DriveIndex | Integer


GetErrorData method

Returns extended sense data of the last error encountered by the CD recorder.

Return Type

A String value.

Syntax

object.GetErrorData

The GetErrorData method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetISODirectoryCount method

Returns the directory count of the ISO/Joliet image.

Return Type

A Long value.

Syntax

object.GetISODirectoryCount

The GetISODirectoryCount method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetISODirectoryDepth method

Returns the depth of the directory tree (ISO9660 allows only 8 directories deep).

Return Type

A Long value.

Syntax

object.GetISODirectoryDepth

The GetISODirectoryDepth method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetISOFileCount method

Returns the file count of the ISO/Joliet image.

Return Type

A Long value.

Syntax

object.GetISOFileCount

The GetISOFileCount method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetISOVolumeSizeBlocks method

Returns the size of the ISO/Joliet image in blocks.

Return Type

A Long value.

Syntax

object.GetISOVolumeSizeBlocks

The GetISOVolumeSizeBlocks method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetLastError method

Returns the last error encountered by the CD recorder.

Return Type

A eCDError value.

Syntax

object.GetLastError

The GetLastError method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetLastSessionStatus method

Get the status of the last session. This is critical when trying to import a previous ISO/Joliet session.

Return Type

A eSessionStatus value.

Syntax

object.GetLastSessionStatus

The GetLastSessionStatus method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetMaxWriteSpeed method

Returns the maximum write speed of the current CD recorder.

Return Type

A Integer value.

Syntax

object.GetMaxWriteSpeed

The GetMaxWriteSpeed method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetSessionCount method

Returns the number of sessions on the currently loaded disc.

Return Type

A Integer value.

Syntax

object.GetSessionCount

The GetSessionCount method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


GetVersion method

Returns the version information from the control.

Return Type

A String value.

Syntax

object.GetVersion

The GetVersion method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


ImportISOTrack method

Import a previous data track from the currently loaded disc. The disc must not be closed, but the last session must be closed. files which exist in a previous session's data track will be invisible unless they are imported from the disc. This method will reset the ISO/Joliet image and then import the directory structure of the last data track on the disc. Once an image has been imported from the disc, the media must remain in the selected drive. As items are imported, the ISOItemAdded event will fire for each item to indicate an image addition. This feature is only for ADVANCED users.

Return Type

A Boolean value.

Syntax

object.ImportISOTrack(ImportJoliet as Boolean)

The ImportISOTrack method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
ImportJoliet | Boolean


InsertAudioTrack method

Add an audio file/track to the audio image. The audio file must be a valid .mp3 or .wav file for the method to succeed. If the Track parameter is numerically out of sequence with the current image tracks, it will be assigned to the next open track number. If a track is inserted between two existing tracks, all subsequent tracks will be shifted to accommodate the new track. EnumerateAudioTracks can be called at any time to get the track information for all tracks.

Return Type

A Boolean value.

Syntax

object.InsertAudioTrack(FileName As String, Track As Integer)

The InsertAudioTrack method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
FileName | String
Track | Integer


InsertISOItem method

Inserts a file or directory into the ISO/Joliet image. The DestinationPath parameter indicates where in the image folder structure the file or directory is to be added. The DestinationPath should be in the format of:

\[Image Folder Name]\[Image Filename - if applicable]

The SourcePath parameter is the location of the source file (only if adding a file). An empty folder can be added to the image by providing a blank SourcePath parameter with a valid destination path. The format of the SourcePath parameter should be a valid file path. After an item has been added, the ISOItemAdded event will fire to indicate success an allow the GUI to be updated if necessary.

Return Type

A Boolean value.

Syntax

object.InsertISOItem(DestinationPath As String, SourcePath As String)

The InsertISOItem method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DestinationPath | String
SourcePath | String


IsDiscRewritable method

Indicates if the loaded disc is rewritable (CDR/W).

Return Type

A Boolean value.

Syntax

object.IsDiscRewritable

The IsDiscRewritable method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


IsDriveBurnProofCapable

IsDriveBurnProofCapable method

Indicates if the currently opened drive supports Burn-Proof technology. Burn-Proof allows for almost perfect disc writes every time.

Return Type

A Boolean value.

Syntax

object.IsDriveBurnProofCapable

The IsDriveBurnProofCapable method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


IsMediaLoaded method

Returns True if media is loaded in the drive.

Return Type

A Boolean value.

Syntax

object.IsMediaLoaded

The IsMediaLoaded method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


LockDrive method

Prevents media removal from the currently opened drive.

Return Type

A Boolean value.

Syntax

object.LockDrive

The LockDrive method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


OpenDrive method

Prepares a CDR for use by the control. This method must be used prior to initiating any operations on the drive.

Return Type

A Boolean value.

Syntax

object.OpenDrive(DriveIndex As Integer)

The OpenDrive method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DriveIndex | Integer


RemoveAudioTrack method

Removes an audio track from the audio image. This method can cause the track numbers to become renumbered. To get accurate track numbers after calling this method, use the EnumerateAudioTracks method to list all of the audio image tracks.

Return Type

A Boolean value.

Syntax

object.RemoveAudioTrack(Track As Integer)

The RemoveAudioTrack method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
Track | Integer


RemoveISOItem method

Remove an item from the ISO/Joliet image. This method will trigger a ISOItemRemoved event. If an image folder is removed, all children of the removed folder will also be removed.

Return Type

A Boolean value.

Syntax

object.RemoveISOItem(DestinationPath As String)

The RemoveISOItem method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DestinationPath | String


RenameISODirectory method

Rename a directory in the ISO/Joliet image. This event will trigger a ISOItemRenamed event. If the image directory has child items, all of the child item's destination paths will change. This destination path modification will be reflected in the ISODestPathChanged event for each child item.

Return Type

A Boolean value.

Syntax

object.RenameISODirectory(OriginalDestPath As String, NewDirName As String)

The RenameISODirectory method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
OriginalDestPath | String
NewDirName | String


RenameISOFile method

Rename a file in the ISO/Joliet image. This method will trigger a ISOItemRenamed event to be fired.

Return Type

A Boolean value.

Syntax

object.RenameISOFile(DestinationPath As String, NewFileName As String)

The RenameISOFile method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
DestinationPath | String
NewFileName | String


SetBurnProofMode

SetBurnProofMode method

Enables Burn-Proof mode for buffer under-run free recording. If the drive supports this capability, it will be almost impossible to write a bad disc.

Return Type

A Boolean value.

Syntax

object.SetBurnProofMode(UseBurnProof As Boolean)

The SetBurnProofMode method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
UseBurnProof | Boolean


SetLogging method

Enables file logging of CDR activities. Logging is a very system intensive activity, and should only be used for debugging.

Return Type

A Boolean value.

Syntax

object.SetLogging(FileName As String, LoggingOn As Boolean)

The SetLogging method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
FileName | String
LoggingOn | Boolean


SetWriteSpeed method

Sets the writing speed of the currently opened CD recorder.

Return Type

A Boolean value.

Syntax

object.SetWriteSpeed(SpeedMultiplier As Integer)

The SetWriteSpeed method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
SpeedMultiplier | Integer


UnlockDrive method

Allows media removal from the currently opened drive.

Return Type

A Boolean value.

Syntax

object.UnlockDrive

The UnlockDrive method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


WriteDisc method

Begins the disc writing operation. This operation is asynchronous. The method will return immediately as soon as the writing process has been initiated.

Return Type

A Boolean value.

Syntax

object.WriteDisc

The WriteDisc method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.


WriteISOImage method

Writes a raw ISO file to the disc. The disc must be blank for this operation to succeed. The ISO image must be a generic ISO image file.

Return Type

A Boolean value.

Syntax

object.WriteISOImage(FileName As String)

The WriteISOImage method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.
FileName | String


eAudioFormat enumeration

Members

Constant | Value
aftWave | 0
aftMP3 | 1


eCDError enumeration

Members

Constant | Value | Description
cdNoAdditionalErrorData | 1000 | No additional error data was reported.
cdIOTerminated | 1001 | Abnormal I/O Termination.
cdLogicalUnitNotReady | 1002 | The drive is not ready.
cdLogicalUnitCommFailed | 1003 | Communication with drive unit failed.
cdDeviceTrackingError | 1004 | The drive could not track properly.
cdWriteGenericError | 1005 | Writing error of unknown origin.
cdWriteRecoveryNeeded | 1006 | Writing occurred, but recovery is needed.
cdWriteRecoveryFailed | 1007 | Recovery attempt failed.
cdWriteLossOfStreaming | 1008 | A buffer under-run has occurred.
cdReadUnrecovered | 1009 | The disc could not be read.
cdReadRetriesExhausted | 1010 | The drive's attempts at reading retries failed.
cdReadErrorTooLong | 1011 | The read timed out.
cdReadLECUncorrectable | 1012 | While reading, the LEC was not recovered.
cdReadCIRCUnrecovered | 1013 | The CIRC could not be validated.
cdReadUPCEANFailed | 1014 | Reading of the UPC failed.
cdReadISRCFailed | 1015 | Reading of the ISRC failed.
cdReadLossOfStreaming | 1016 | Streaming while reading was interrupted.
cdPositioningError | 1017 | Drive could not position media.
cdParameterListLengthError | 1018 | An incompatible parameter length was sent to the drive.
cdSynchronousTransferError | 1019 | A transfer error occurred to the drive.
cdInvalidCommandCode | 1020 | An invalid command was sent to the drive.
cdLBAOutOfRange | 1021 | Error trying to write past the end of the media.
cdInvalidCDBField | 1022 | Invalid command field.
cdInvalidParamterListField | 1023 | An incompatible parameter field was sent to the drive.
cdParameterNotSupported | 1024 | A command parameter is not supported.
cdParamterValueInvalid | 1025 | A command parameter had an invalid value.
cdBusOrDeviceReset | 1026 | The SCSI/ATAPI bus was reset and caused a failure.
cdParametersChanged | 1027 | A command parameter changed while in progress.
cdIncompatibleMedium | 1028 | The disc is not compatible with the drive mode.
cdReadUnknownMediumFormat | 1029 | The drive does not recognize the format of the disc.
cdReadIncompatibleMediumFormat | 1030 | The disc format is not compatible with the drive.
cdWriteUnknownMediumFormat | 1031 | The disc is of an unknown format.
cdIncompatibleWriteFormat | 1032 | The drive cannot write because of an incompatible format.
cdMediaNotPresent | 1033 | A disc is not present.
cdLogicalUnitFailure | 1034 | The drive had an unknown failure.
cdLogicalUnitTimedOut | 1035 | The drive has timed out while completing a command.
cdEraseFailed | 1036 | The disc could not be erased.
cdUnableToRecoverTOC | 1037 | The Table of Contents is unrecoverable.
cdEndOfUserAreaOnTrack | 1038 | Error trying to write past the user area of the media (1021).
cdPacketDoesNotFit | 1039 | Packet recording is not configured correctly.
cdIllegalTrackMode | 1040 | The current track mode is incompatible with the disc format.
cdInvalidPacketSize | 1041 | Packet recording has incorrect size.
cdSessionFixationError | 1042 | A generic session closing error occurred.
cdSessionFixationErrorLeadIn | 1043 | Error closing Lead-in area.
cdSessionFixationErrorLeadOut | 1044 | Error closing Lead-out area.
cdSessionFixationIncompleteTrack | 1045 | While closing, the track was never completed.
cdEmptyPartialReservedTrack | 1046 | Error attempting to write to a reserved track.
cdPowerCalibrationFull | 1047 | Power calibration area is full.
cdPowerCalibrationAreaError | 1048 | A flaw exists in the Power calibration area.
cdPMAUpdateFailure | 1049 | The disc's PMA could not be updated.
cdPMAFull | 1050 | The disc's PMA is full.
cdUnknownError | 1051 | Unknown error - use extended data for more information.
cdNoError | 1052 | No error occurred.
cdNoSeekComplete | 1053 | A seek command was interrupted by another command.


eCDRCapabilities enumeration

Members

Constant | Value
ReadsCDR | 0
ReadsCDRW | 1
ReadsFPMethod2 | 2
ReadsDVDROM | 3
ReadsDVDR | 4
ReadsDVDRam | 5
WritesCDR | 6
WritesCDRW | 7
WritesTest | 8
WriteDVDR | 9
WriteDVDRam | 10
PlaysAudio | 11
DeliversComposite | 12
SupportsDigitalPort1 | 13
SupportsDigitalPort2 | 14
ReadsMode2Form1 | 15
ReadsMode2Form2 | 16
ReadsMultiSession | 17
UsesCDDACmd | 18
AccurateCDDA | 19
ReadsRW | 20
ReadsRWSubDeint | 21
SupportsC2Pointers | 22
ReadsISRC | 23
ReadsUPC | 24
ReadsBarCode | 25
LockSupported | 26
LockState | 27
PreventAllowJumper | 28
EjectSupported | 29
SupportsSeprateVolume | 30
SupportsMuteSeperate | 31
SupportsDiscPresent | 32
SWSlotSelect | 33
SupportsSideChange | 34
ReadsPWLeadIn | 35


eDiscStatus enumeration

Members

Constant | Value
dsEmpty | 0
dsIncomplete | 1
dsComplete | 2
dsUnknown | 3


eDiscType enumeration

Members

Constant | Value
dtCddaCDRom | 0
dtCDI | 16
dtCDRomXA | 32
dtUnknown | 255


eSessionStatus enumeration

Members

Constant | Value
ssEmpty | 0
ssIncomplete | 1
ssReserved | 2
ssComplete | 3


eTrackFileError enumeration

Members

Constant | Value
tfeFileOpenError | 0
tfeFileReadError | 1
tfeFileWriteError | 2
tfeNoError | 3
tfeFileBufferError | 4


eWriteError enumeration

Members

Constant | Value
errReadBufferInitFailed | 0
errWriteBufferInitFailed | 1
errFileError | 2
errDriveError | 3
errNoTracksQueued | 4
errInvalidFormat | 5


eWriteType enumeration

Members

Constant | Value
wtpCDDA | 0
wtpData | 1


AboutBox method

Return Type

A Boolean value.

Syntax

object.AboutBox

The AboutBox method syntax has these parts:

Part | Description
object | An expression evaluating to an object of type CDWriterXP.